package com.kingyun.gpsinspection.purificationservice.facade.service.tdm;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.RedisValue;

/**
 * 任务统计信息对外接口，JSON格式。
 * Created by jiangjx on 2017/3/30.
 */
public interface OutTaskInfoToJSONService {

    /**
     * 问题数量总数
     *
     * @param orgId 组织id
     */
    JSONObject queryProblemCount(String orgId);

    /**
     * 查询我的待办数据
     *
     * @param redisValue 登录信息
     */
    JSONArray queryMyTodoInfo(RedisValue redisValue);

    /**
     * 查询当日问题概况(根据问题类型)
     *
     * @param orgId 组织id
     */
    JSONArray queryProblemSituation(String orgId);

    /**
     * 今日问题分析(是否处置)
     *
     * @param orgId 组织id
     */
    JSONArray queryProblemAnalysis(String orgId);


    /**
     * 任务分布与完成情况（按作业区权限统计）
     *
     * @param orgId 组织id
     */
    JSONObject queryTaskInfoToBar(String orgId);

    /**
     * 任务类型分布情况
     *
     * @param orgId 组织id
     */
    JSONArray queryTaskType(String orgId);

    /**
     * 任务分布与完成情况（按中心站权限统计）
     *
     * @param orgId 组织id
     */
    JSONArray queryTaskInfoToPie(String orgId);

    /**
     * 当月设备维护情况（按维护保养任务的超期、即将超期、正常状态统计）
     *
     * @param orgId 组织id
     */
    JSONArray queryEquipmentMaintenance(String orgId);

    /**
     * 超期工单总数
     *
     * @param orgId 组织id
     */
    JSONObject queryOverdueWorkOrderCount(String orgId);

    /**
     * 作业许可申请数(未超期)
     *
     * @param orgId 组织id
     */
    JSONObject queryOperationLicenseCount(String orgId);

    /**
     * 作业许可A类申请数(未超期)
     *
     * @param orgId 组织id
     */
    JSONObject queryAOperationLicenseCount(String orgId);

    /**
     * 首页顶部信息
     *
     * @param redisValue 登陆人信息
     */
    JSONArray queryIndexTopInfo(RedisValue redisValue) throws Exception;
}
